﻿// --------------------------------------------------------------------------------------------------------------------
// <copyright file="SystemInfo.cs" company="Data Ductus Malmö">
//   (c) 2010 - 2012 Data Ductus Malmö AB
// </copyright>
// --------------------------------------------------------------------------------------------------------------------

namespace DataDuctus.Snmp.Persistor.Core.Tests.TestData
{
  using System;

  using DataDuctus.Snmp.Persistor.Core.Attributes;

  using Lextm.SharpSnmpLib;

  /// <summary>
  /// The system info.
  /// </summary>
  [Entity(BaseOid = "1.3.6.1.2.1.1", Description = "This class encapsulates the system group")]
  public class SystemInfo
  {
    #region Public Properties

    /// <summary>
    /// Gets or sets the contact.
    /// </summary>
    [Property(SubOid = 4, Access = PropertyAccess.ReadWrite)]
    public string Contact { get; set; }

    /// <summary>
    /// Gets or sets the description.
    /// </summary>
    [Property(SubOid = 1)]
    public string Description { get; set; }

    /// <summary>
    /// Gets or sets the location.
    /// </summary>
    [Property(SubOid = 6, Access = PropertyAccess.ReadWrite)]
    public string Location { get; set; }

    /// <summary>
    /// Gets or sets the name.
    /// </summary>
    [Property(SubOid = 5, Access = PropertyAccess.ReadWrite)]
    public string Name { get; set; }

    /// <summary>
    /// Gets or sets the object id.
    /// </summary>
    [Property(SubOid = 2)]
    public ObjectIdentifier ObjectId { get; set; }

    /// <summary>
    /// Gets or sets the services.
    /// </summary>
    [Property(SubOid = 7)]
    public int Services { get; set; }

    /// <summary>
    /// Gets or sets the up time.
    /// </summary>
    [Property(SubOid = 3)]
    public TimeSpan UpTime { get; set; }

    #endregion
  }
}